/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package observer;

import model.Conta;
import model.Operacao;
import strategy.OperacaoSaque;

/**
 *
 * @author Aurelio
 */
public class BancoConcreto implements Banco{
    private Conta contaObservada;
    private Operacao os;
    public BancoConcreto(Conta conta, Operacao os){
        this.contaObservada = conta;
        this.os = os;
    }
    
    @Override
    public String[] atualizar(){
        /*
         * [0] Stile input saldo;
         * [1] Mensagem para jogar na tela;
         * [2] variavel booleana para controle;
         */
        
        String retorno [] = new String[3];
        Operacao operacao = new Operacao(); 
        contaObservada.setSaldo(operacao.recuperaSaldo(contaObservada.getNumero()));
        if(os instanceof OperacaoSaque && (contaObservada.getSaldo() + os.getValor()) < -200){
            retorno[0] = "vermelho";
            retorno[1] = "Saldo indisponivel!!!";
            retorno[2] = "false";
        }else if(contaObservada.getSaldo() >= 0){
            retorno[0] = "verde";
            retorno[1] = "Dinheiro disponivel!!!";
            retorno[2] = "true";
        }else{
            retorno[0] = "amarelo";
            retorno[1] = "Saldo referente a Cheque especial";
            retorno[2] = "true";
        }
           
        return retorno;
    }
    
}
